/*******************************************************************************
 * 程序说明
 * 
 ******************************************************************************/
#include "../lib/inc/stm8s.h"
#include "../lib/inc/stm8s_clk.h"
#include "../lib/inc/stm8s_gpio.h"

/*******************************************************
 * 休眠1ms
 *******************************************************/
void DelayMS(u16 count)
{
	int j;
	while (count--)
	{
		j = 150;
		while (j--);
	}
}

/*******************************************************
 * 休眠当1时,20um;10时,48um;100时,315um
 *******************************************************/
void DelayUS(u8 count)
{
	while (count--);
}

/*******************************************************
 * 时钟初始化
 *******************************************************/
void CLK_Initialize()
{
	//CLK_HSICmd(ENABLE);
	//CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV8);
}

/*******************************************************
 * GPIO引脚初始化
 *******************************************************/
void GPIO_Initialize()
{
	GPIO_Init(GPIOD, GPIO_PIN_0, GPIO_MODE_OUT_PP_HIGH_SLOW);
}

void main(void)
{
	CLK_Initialize();
	GPIO_Initialize();

	for (int i = 0; i < 12; i++)
	{
		GPIO_WriteReverse(GPIOD, GPIO_PIN_0);
		DelayMS(80);
	}

	GPIO_Init(GPIOD, GPIO_PIN_ALL, GPIO_MODE_OUT_PP_LOW_FAST);
	TIM4_TimeBaseInit(TIM4_PRESCALER_8, 250);
	TIM4_SetCounter(250);
	TIM4_ITConfig(TIM4_IT_UPDATE, ENABLE);

	rim();

	TIM4_Cmd(ENABLE);

	/* Infinite loop */
	while (1)
	{

	}
}

#ifdef USE_FULL_ASSERT

void assert_failed(u8* file, u32 line)
{
	while (1)
	{
	}
}
#endif


/************************ (C) COPYRIGHT xknife.net *************END OF FILE****/

